package com.ly.video.api.user.service;


import com.ly.video.api.user.entity.InComeEntity;
import com.ly.video.api.user.entity.UserEntity;
import com.ly.video.api.user.entity.WithdrawalEntity;

import java.util.List;

// 用户模块业务层接口
public interface IUserService {

    /**
     * 用户登录
     * @return
     */
    public UserEntity login(String openid);

    /**
     * 绑定用户上级UID
     */
    public UserEntity bindFatherUid(String father, String uid);


    /**
     * 用户观看激励视频广告
     */
    public UserEntity userWatchVideoAdv(String uid);

    /**
     * 通过UID增加用户金币信息
     */
    public void addUserCoin(String uid, Integer coin, String info, boolean isReduceWeight);

    /**
     * 用户观看其他广告增加权重
     */
    public void userWatchOtherAdv(String uid);

    /**
     * 查询用户下级信息
     */
    public List<UserEntity> findUserSons(Integer page, Integer size, String uid);

    /**
     * 倒序分页查询用户收入信息
     */
    public List<InComeEntity> findUserInComeInfo(int page, int size, String uid);

    /**
     * 用户提现
     */
    public UserEntity withdrawal(String amount, String uid);

    /**
     * 倒序分页查找用户提现信息
     */
    public List<WithdrawalEntity> getUserWithdrawalInfo(int page, int size, String uid);
}
